//
//  LocalStorage.h
//  OCBase
//
//  Created by 侯伟 on 2019/5/5.
//  Copyright © 2019 侯伟. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "UserDefaults.h"

NS_ASSUME_NONNULL_BEGIN

/**
 数据轻量级缓存 已经做了公用或者具体用户的处理
 */
@interface LocalStorage : NSObject


@property(class,nonatomic,strong,readonly)UserDefaults* share;

@property(class,nonatomic,strong,readonly)UserDefaults* user;

/**
 设置用户

 @param idOrName 用户id或者名称
 */
+ (void)setUserDefaultsWidth:(NSString*)idOrName;


/**
 重置用户
 */
+ (void)resetUser;

/**
 保存数据
 
 @param object 待保存的数据
 @param key 待保存的键值
 */
+ (void)setObject:(id)object forKey:(NSString *)key;

/**
 获取对应键值的数据
 
 @param key 待取数据的键值
 */
+ (id)objectForKey:(NSString *)key;

/**
 读取整形
 */
+ (NSInteger)integerForKey:(NSString*)key;

/**
 读取单精度浮点类型
 */
+ (float)floatForKey:(NSString*)key;

/**
 读取双精度浮点
 */
+ (double)doubleForKey:(NSString*)key;

/**
 读取字符串
 */
+ (NSString*)stringForKey:(NSString*)key;

/**
 读取bool
 */
+ (BOOL)boolForKey:(NSString*)key;

/**
 读取字符串 并付默认值
 */
+ (NSString*)stringForKey:(NSString*)key defaultValue:(NSString*)value;

/**
 读取数组
 */
+ (NSArray*)arrayForKey:(NSString*)key;

/**
 读取字典
 */
+ (NSDictionary*)dictionaryForKey:(NSString*)key;

/**
 读取数据
 */
+ (NSData*)dataForKey:(NSString*)key;

/**
 删除
 */
+ (void)removeObjectForKey:(NSString*)key;

@end

NS_ASSUME_NONNULL_END
